System and method for content integrated product purchasing

ABSTRACT

In a system and method for providing augmented content, embodiments disclose a communication module that receives a product identifier for a product and content including an object. The embodiments also disclose an overlay creation module that creates a user interface with a first actuatable element, the first actuatable element being configured to send product purchase instructions to a merchant server when actuated. The embodiments also disclose a product matching module that matches the object to the product identifier and an augmentation module that, in response to the product matching module matching the object to the product identifier, creates an augmented content which includes the content and a second actuatable element, the second actuatable element being configured to display the user interface as an overlay over the content on a user device when actuated. The embodiments also disclose a displaying module that instructs a user device to display the augmented content.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority U.S. patent application Ser. No.14/550,586, filed Nov. 21, 2014, which is incorporated herein byreference in its entirety.

BACKGROUND Field of the Invention

The present invention generally relates to electronic commerce and, moreparticularly, to systems and methods for facilitating online purchasingand payments by integrating product advertisement and purchasingabilities within content a user is viewing.

Related Art

Computer systems and networks can facilitate the tasks of buying,selling and transferring goods and services in retail and othermarketplaces. For example, a consumer can pay for an item from either anonline merchant or at a point of sale of a brick-and-mortar storethrough the use of a payment provider that can be accessed on his or hersmart phone, tablet, laptop computer, desktop computer, or otherpersonal mobile or desktop device. In particular, users of a paymentprovider can use the payment provider website or a payment providerapplication or “app” on a mobile device to make payments to variousonline or offline merchants.

Oftentimes the payment system, the purchasing system, and theadvertisement system are all disconnected, causing an inefficientpurchasing process for an individual or user. For example, a user may bereading an article comparing two different products, one of which theuser plans to purchase. Once the user has decided which product topurchase, the user must search for a marketplace or merchant that sellsthe product. Once a merchant has been chosen, the user will often haveto decide on how the user plans to pay for the product, such as througha payment provider, entering a credit card, and so on. This is quite acumbersome process.

Sometimes, the user may be browsing content and see an image of aproduct that the user wants to buy. The user may be unable to identifythe product and may have to conduct a search for the product. Afteridentifying the product, the user may have to go through the purchasingprocess discussed above, distracting the user from the content the userwas consuming.

Furthermore, some content providers may want to attract sponsors or bepaid for products they advertise or discuss in their content. In thecurrent modes of advertising, the user must include awkwardly placed ads(usually in a column next to the content provider's content) and/orpopup ads that distract a user from the content. These ads hurt the userexperience by cluttering the content providing medium. These types ofads negatively affect the content provider by deterring users fromreturning to consume more content.

Therefore, a system and method for un-intrusively inserting ads andproduct purchasing options within content such that users areuninterrupted or minimally interrupted from viewing the content arehighly desirable.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 is a block diagram of an illustrative networked system suitablefor implementing a process for facilitating product placement,purchases, and/or payment by augmenting content for display on a userdevice according to some embodiments.

FIG. 2 illustrates an exemplary content on a user device that maybe beaugmented according to an embodiment.

FIG. 3 illustrates the content of FIG. 2 which has been augmented toinclude actuatable elements according to an embodiment.

FIG. 4 illustrates an overlay that may appear over the content when anactuatable element of FIG. 3 is actuated.

FIG. 5 illustrates an overlay that may appear over the content when amaster button of FIG. 3 is actuated.

FIG. 6 is a flowchart showing an illustrative process for augmentingcontent according to an embodiment.

FIG. 7 is a block diagram of an illustrative computer system suitablefor implementing one or more components in FIG. 1 according to anembodiment.

Embodiments of the present disclosure and their advantages are bestunderstood by referring to the detailed description that follows. Itshould be appreciated that like reference numerals are used to identifylike elements illustrated in one or more of the figures, whereinshowings therein are for purposes of illustrating embodiments of thepresent disclosure and not for purposes of limiting the same.

DETAILED DESCRIPTION

In the following description, specific details are set forth describingsome embodiments consistent with the present disclosure. It will beapparent, however, to one skilled in the art that some embodiments maybe practiced without some or all of these specific details. The specificembodiments disclosed herein are meant to be illustrative but notlimiting. One skilled in the art may realize other elements that,although not specifically described here, are within the scope and thespirit of this disclosure. In addition, to avoid unnecessary repetition,one or more features shown and described in association with oneembodiment may be incorporated into other embodiments unlessspecifically described otherwise or if the one or more features wouldmake an embodiment non-functional.

Devices, systems, and methods are provided for performing activitiesrelated to online transactions. Included in this disclosure are devices,systems, and methods which may be used for integrating productpurchasing abilities within content a user is browsing on a device. Insome embodiments, content which a user is viewing through a user device,such as a personal computer, smartphone, and or the like, is augmentedto include tags, links, and/or other actuatable elements that allow theuser to purchase a product that is referenced by the content withoutinterrupting the user from viewing the content. In various particularembodiments, the devices, systems, and methods can involve one or moredevices in communication over a network. Such devices, systems, andmethods can facilitate the execution of online transactions partially orcompletely. According to an embodiment, images, audio links, and/or anyother object that can be displayed on the user device may be augmentedto seamlessly and/or un-intrusively indicate and/or provide an option topurchase a product related to the object. Augmenting an object mayinclude replacing, editing, updating, modifying, placing an overlay overthe object, and/or the like.

In some embodiments, the actuatable element, when activated, may displayan overlay which provides the user with one or more items for purchasewith one or more payment options. Actuatable elements may be a link, anaudio command, an element activated by a gesture, a hover over element,and/or the like. In some examples, when a user is using the user deviceto browse a website, the device, through a native application and/or aremote application, may identify text related to a product for sale andaugment the text into a link for purchasing the product. In someembodiments, third-party content providers may insert a script, code,and/or the like into their website which causes the content to beaugmented when viewed by a user. The script, code, and/or the like, maybe generated by an application when a merchant creates a product page inan online marketplace. In some embodiments, the script, code, and/or thelike may be tailored to the merchant's product page, and the script,code, and/or the like may be distributed by the merchant. In someembodiments, the script, code, and/or the like may be tailored tomultiple merchants.

In some examples, an application may also identify images, audiosignals, video, and/or the like related to a product for sale withincontent viewed by a user and augment the content to include links and/orother actuatable elements which allow the user to purchase one or moreproducts with one or more payments systems.

In some embodiments, there may be multiple merchants that sell aproduct, and when content is augmented to include an actuatable elementto purchase the product, the actuatable element may feature a merchantbased on several factors. In some examples, the factors may bedetermined by a user's preferences. In some embodiments the factors maybe based on or a combination of user/account information, price, time ofdelivery, user ratings, past purchases, location, time of day, and/orthe like. In some embodiments, users may be provided with the option ofmultiple merchants to purchase a product from.

In some embodiments, the actuatable elements may be tailored to a singlemerchant, and the actuatable elements in the augment content may mapproduct purchases to that single merchant.

In some embodiments, links may be created that directly link to productson a merchant page for sale. The actuation of a link may display anoverlay for direct sale of a product without interrupting the user fromviewing the content. In some embodiments, merchants may be able todistribute this link to third-party content creators to advertise theirproducts.

In some embodiments, one or more applications located natively on theuser's device and/or remotely from the user's device identify text,pictures, video, audio signals, and/or the like within the content thatis related to a product sold by one or more merchants. In someembodiments the identified text may be a product name, trademark, tradename, company name, product description, and/or the like. The identifiedtext may be pictures of the product, product advertisement pictures,and/or other pictures related to the product. Similarly, the identifiedmedia, such as video and/or audio signals, may be related to a productfor purchase, rent, and/or license. This may include movies, music,radio recordings, podcast recordings, audiobooks, and/or the like.

The text, pictures, video, audio signals, and/or other mediums may beidentified with a product by matching it with a database of text,images, video, audio signals, and/or other mediums that are mapped to aproduct sold, rented, and/or licensed by a merchant. In someembodiments, the database of text, images, video, audio signals, and/orother medium that are mapped to a product may be provided by merchants.Merchants may provide the database entries as part of a productdescription.

In some embodiments, the content augmentation application(s) and/orplugins may augment content viewed by a user to indicate that productsreferenced in the content may be purchased by the user. In someembodiments, the content is augmented so that the words that match aproduct description and/or key word are turned into a link and/or anactuatable element. In some embodiments, actuatable elements, such as avirtual button, is displayed near a picture, video, media player, text,and/or other objects within the content. In some embodiments, theactuatable element may appear as part of or near the toolbar of a webbrowser. In some embodiment, the actuatable element may be displayed atthe top and/or bottom of the content page and/or top and/or bottom ofthe current viewable portion of the content.

In some embodiments, one or more servers may provide an application to awebsite publisher which allows the website publisher to run theapplication over their content before publishing it on their website.The application may embed actuatable elements into the content such thatthe website publishes content embedded with the actuatable elementsdiscussed above. In this manner, an augmentation plugin and/orapplication does not need to be natively held on the user's device for auser to view augmented content.

In some embodiments, when a user actuates one or more actuatableelements, an overlay may be displayed over the content which allows theuser to purchase a product. In some embodiments, there may be severalmerchants who sell the product and the overlay will display the productfrom a merchant closest to the user's mailing address. In anotherembodiment, the overlay may display the product from the merchant withthe cheapest price, which may include shipping costs. In someembodiments, the overlay may pick merchants for display based on one ormore factors which may be based on one or more user preferences. Thefactors may include, but are not limited to, price, rating, purchasehistory, recent activity, address, marketplace, payment methods, and/orthe like. In some embodiments, the user may choose from one of severalmerchants displayed in the overlay.

The actuatable elements discussed above may be activated in one or moremanners to display an overlay. In some examples, the actuatable elementsmay be a hyperlink that may be activated by clicking on the hyperlinkthrough an input device such as a mouse and/or a touch screen. In someembodiments, the actuatable element may be activated by a gesture, suchas circling the actuatable element with a curser.

In some embodiments, the overlay may have one or more actuatableelements which allow for the user to purchase a product. In someembodiments, the user may choose to use an online payment provider topurchase a product. In some embodiments, the user may enter paymentinformation, such as a payment card number. In some embodiments, theoverlay may allow the user to insert a coupon code and/or a giftcertificate that can be applied to the product. In some embodiments,when a user provides a purchase indication, an online payment providerwill automatically be chosen for purchasing the product. In someembodiments, once the product is purchased, the overlay may disappearsuch that the user may continue consuming the content. In someembodiments, when a product is purchased, the portions of the contentthat have been augmented for that product may revert to the originalstate of the content. In some examples, reverting to the original statemay be removing one or more actuatable elements, and or removingaccentuations to one or more portions of the content.

While the various examples disclosed herein focus on particular aspectsregarding the online transactions, it will be understood that thevarious inventive principles and embodiments disclosed herein can beapplied to other types of transactions and arrangements as well. Forexample, a physical location for products, such as a show room, mayutilize one or more of the aspects and features found in the varioussystems and methods provided.

Reference throughout the specification to “various embodiments,” “someembodiments,” “one embodiment,” “an embodiment,” “various examples,”“one example,” “an example,” or “some examples” means that a particularfeature, structure, or characteristic described in connection with theembodiment or example is included in at least one embodiment. Thus,appearances of these are not necessarily all referring to the sameembodiment. Furthermore, the particular features, structures orcharacteristics may be combined in any suitable manner in one or moreembodiments.

According to an embodiment, a computer program product can comprise anon-transitory machine readable medium. The non-transitory machinereadable medium can have computer readable and executable code forinstructing one or more processors to perform any of the methodsdisclosed herein.

Beginning with FIG. 1, a block diagram is shown of a networked system100 suitable for implementing a process for facilitating productplacement, purchases, and/or payment by augmenting content for displayon a user device according to an embodiment. Networked system 100 maycomprise or implement a plurality of servers and/or software componentsthat operate to perform various electronic commerce transactions orprocesses such as payment transactions or processes. Exemplary serversmay include, for example, stand-alone and enterprise-class serversoperating a server OS such as a MICROSOFT® OS, a UNIX® OS, a LINUX® OS,or other suitable server-based OS. It can be appreciated that theservers illustrated in FIG. 1 may be deployed in other ways and that theoperations performed and/or the services provided by such servers may becombined or separated for a given implementation and may be performed bya greater number or fewer number of servers. One or more servers may beoperated and/or maintained by the same or different entities.

System 100 may include a merchant server 110, a payment provider server120, a third-party server 130, and a user device 140 in communicationover a network 150. A user 160, such as a merchant and/or a consumer,may utilize device 140 to interact with other devices such as, merchantserver 110, payment provider server 120, and/or third-party server 130.

Merchant server 110 may be maintained, for example, by a merchant,seller, or a marketplace offering various products and/or services.Merchant server 110 may be a marketplace where merchants may set upmerchant accounts and a product page 111 for advertising goods and/orservices for sale and/or exchange. Merchants may also link their productpage 111 with a payment provider, such as payment provider server 120,to conduct currency exchanges when a product is purchased. Generally,merchant server 110 may be maintained by anyone or any entity thatreceives money, which includes charities as well as banks and retailers.For example, product page 111 may be a donation page where a payment maybe a donation to a charity or a deposit to a bank account such as asavings account. In some embodiments, merchant server 110 may be usedfor point-of-sale (POS) and/or online purchases and transactions. Insome embodiments, merchant server 110 may be maintained by amarketplace, which allows multiple merchants to set up a product page111 to exchange goods and/or services.

Merchant server 110 may have a database 112 which may include merchantaccounts and/or user accounts. Database 112 may maintain an inventory ofproducts on product page 111 available for sale, donation, exchange,and/or the like by one or more merchants. Products may include, but arenot limited to, physical goods, digital goods, services, commodities,charities and/or the like (products may also be referred to as items).Product page 111 may allow user 160 to view and purchase and/or providemonetary funds, goods and/or services for products on product page 111with user device 140.

Database 112 may contain product descriptions which may include textualdescriptions of products, textual key words, images, videos, audio clipsand/or other mediums displaying, advertising, showing off, and/ordescribing a product.

In some embodiments, merchant server 110 may have an advertisingapplication 113. Advertising application 113 may scan productdescriptions provided by a merchant for text, images, videos, and/orinformation that are uniquely related to a product on product page 111.This may include product names, keywords related to the product, productimages, videos of product infomercials, videos of product commercials,sound bites related to the product, product reviews, and/or otherobjects that identify the product (collectively referred to as productidentifiers). In some examples, advertising application 113 mayimplement a natural language processor (NLP) to scan textualdescriptions for textual product identifiers. In some embodiments,product identifiers may be merchant and/or consumer submitted. Theproduct identifiers may also be stored in database 112. In someembodiments, advertising application 113 may provide an application,API, and/or a plugin to one or more devices, such as payment providerserver 120, third-party sever 130, and/or user device 140 for accessingthe product identifiers over network 160. In some embodiments,advertising application 113 may create overlays and/or actuatableelements, such as links, that are linked and/or mapped to a product onproduct page 111. In some embodiments, advertising application 113 maycreate overlays and/or actuatable elements by inserting and/or writingdata into empty and/or predetermined data fields of one or morepreprogrammed programming file, such as a file for java script, python,html, XML, and/or the like. This may be a “.txt” file and/or the like.In some embodiments the overlay and or actuatable elements may provide auser interface for display on a device such as device 140 for purchasinga product on product page 111. In some embodiments, advertisingapplication 113 may augment content received from one or more devices tocontain overlays and/or actuatable elements. In some embodiments,advertising application 113 may search for objects within contentreceived from one or more devices that matches a product identifier andaugments the content such that an actuatable element replaces, overlays,surrounds, or is placed proximally to objects that match one or moreproduct identifiers. For example, the content may be displayed throughhtml code, and advertising application 113 may augment the html code. Insome embodiments, advertising application 113 may provide code, such ashtml and or java script code, that when entered into a html file andrendered by a web browser, may result in the display of an actuatableelement in the browser. In some embodiments, the actuatable element,when actuated, may display an overlay.

Merchant server 110 also may include a marketplace application 114 whichmay be configured to serve information over network 150 in order to viewand/or purchase various products advertised on product page 111 by adevice such as user device 140. Merchant server 110 also may include acheckout application 115 which may be configured to facilitate thepurchase by user 160 of goods or services online. Checkout application115 may be configured to accept payment information from or on behalf ofuser 160 through payment service provider server 120 over network 150.For example, checkout application 115 may receive and process a paymentconfirmation from payment provider server 120, as well as transmittransaction information to the payment provider and receive informationfrom the payment provider (e.g., a transaction ID). Checkout application115 may also be configured to receive payment via a plurality of paymentmethods including cash, credit cards, debit cards, checks, money orders,or the like.

Payment provider server 120 may be maintained, for example, by an onlinepayment service provider which may provide payment between user 160 andthe operator of merchant server 110, another user, and or a merchant.Payment provider server 120 may include one or more payment applications121 which may be configured to interact with merchant server 110 and/oruser device 140 over network 150 to facilitate the purchase of goodsand/or services, communicate/display information, and send payments byuser 160 of user device 140.

Payment provider server 120 may also maintain a plurality of useraccounts 122, each of which may include account information 123associated with consumers, merchants, and funding sources, such as banksand/or credit card companies. For example, account information 123 mayinclude private financial information of users of devices such asaccount numbers, passwords, device identifiers, user names, phonenumbers, credit card information, bank information, place of residence,mailing addresses, shipping locations, and/or other information whichmay be used to facilitate online transactions by user 160. Paymentapplication 175 may be configured to interact with merchant server 110on behalf of user 160 during a transaction with checkout application 115to track and manage purchases made by users and which funding sourcesare used. Payment application 121 may be configured to determine theexistence of and to manage accounts for user 160, as well as create newaccounts if necessary. Payment application 121 may be configured toexecute one or more payment transactions in response to receiving and/orrecognizing a purchase request from user 160, device 140, and/ormerchant server 110.

A transaction processing application 124, which may be part of orseparate from payment application 121, may be configured to receiveinformation from user device 140 and/or merchant server 110 forprocessing and storage in a payment database 125. Transaction processingapplication 124 may include one or more applications for processingpayment information from user 160 and/or merchant server 110 usingvarious selected funding instruments. As such, transaction processingapplication 124 may store details of an order from individual users,including a funding source used, available credit options, and/or thelike. Transaction processing application 124 may be configured toexecute one or more transactions such as electronic commercetransactions in response to a user purchasing a product through merchantserver 110.

Third-party server 130 may be a server that provides third-party content131 for users, such as user 160, to view through a device, such as userdevice 140. Third-party content 131 may be content such as digitalcontent including, but not limited to, audio clips, video, text,pictures, games, and/or the like. Third-party content may include newsarticles, music, movies, television shows, blogs, social media, and/orthe like that may be hosted on a website and/or accessed through anapplication.

Third-party server 130 may include an augmentation plugin 132.Augmentation plugin 132 may augment third-party content 131 to includeactuatable elements when displayed on a user device. Augmentation plugin132 may receive product identifiers from merchant server 110 and mayscan third-party content 131 for objects, such as images, text, audiodata, videos, and/or the like, that match one or more productidentifiers for a product. Augmentation plugin 132 may augmentthird-party content 131 such that, when the content is viewed by user160 with user device 140, an actuatable element replaces, overlays, oris placed proximally to objects that match a product identifier. In someembodiments, the actuatable elements, when activated by a user, mayprovide a user interface for purchasing a product through merchantserver 110 using payment provider 120.

A user 160, may utilize user device 140 to browse third-party content131 on a third-party server 130 or products on a product page 111 ofmerchant server 110. User 160 may perform a transaction such as anelectronic commerce transaction to purchase a product on product page111 of merchant server 110 which may utilize a payment provider server120 to conduct payments. Payment provider server 120 may be maintainedby a payment service provider, such as PayPal, Inc. of San Jose, Calif.A user 160 may utilize user device 140 to initiate a paymenttransaction, receive a transaction approval request, and/or reply to atransaction approval request. Note that transaction, as used herein,refers to any suitable action performed using the user device, includingpayments, transfer of information, display of information, purchases,sales, online listings, and/or the like.

User device 140, third-party server 130, merchant server 110, andpayment provider server 120 may each include one or more processors,memories, and other appropriate components for executing instructionssuch as program code and/or data stored on one or more computer readablemediums to implement the various applications, data, and steps describedherein. For example, such instructions may be stored in one or morecomputer readable media such as memories or data storage devicesinternal and/or external to various components of system 100, and/oraccessible over network 150.

Network 150 may be implemented as a single network or a combination ofmultiple networks. For example, in various embodiments, network 150 mayinclude the Internet or one or more intranets, landline networks,wireless networks, and/or other appropriate types of networks.

User device 140 may be implemented using any appropriate hardware andsoftware configured for wired and/or wireless communication over network150. For example, in one embodiment, user device 140 may be implementedas a personal computer (PC), a smart phone, personal digital assistant(PDA), laptop computer, and/or other types of computing devices capableof transmitting and/or receiving data, such as an iPad™ from Apple™.

User device 140 may include one or more browser applications 141 whichmay be used, for example, to provide a convenient interface to permituser 160 to browse content available over network 160, such asthird-party content 131 provided by third-party server 130. In someexamples, browser application 141 may be implemented as a web browserconfigured to view content and/or information available over theInternet, such as a blog, news article, social media, and/or any otherwebsite.

User device 140 may further include other applications 142 as may bedesired in particular embodiments to provide desired features to userdevice 140. For example, other applications 142 may include securityapplications for implementing client-side security features,programmatic client applications for interfacing with appropriate APIsover network 150, or other types of applications.

Applications 142 may also include applications for browsing content,which may include applications for email, texting, voice, IM, and/or thelike. Applications 142 may allow user 160 to send and receive emails,calls, and texts through network 150. Applications 142 may enable user160 to play games, read digital books, communicate, transferinformation, make payments, and/or the like. In some embodiments,applications 142 may include an application for browsing third-partycontent 131.

User device 140 may also include one or more application plugins 143which may be used, for example, to augment content, such as third-partycontent 131, being viewed on user device 140 through browser application141 and/or other applications 142. In some embodiments, applicationplugin 143 may augment content user 160 is viewing by adding orinserting actuatable elements which allows user 160 to purchase aproduct through merchant server 110 using payment provider 120.

User device 140 may include one or more user identifiers 144 which maybe implemented, for example, as operating system registry entries,cookies associated with browser application 141, user identifiersassociated with hardware of user device 140, and/or other appropriateidentifiers, such as used for payment, user, and/or deviceauthentication. In some embodiments, user device 140 may include acommunications application 145, with associated interfaces that enablesuser device 140 to communicate within system 100. In some embodiments,user identifier 144 may be used by a payment service provider toassociate user 160 with a particular account maintained by the paymentprovider.

User device 140 may include an augmentation application 146.Augmentation application 146 may receive product keywords, productinformation, product images, price information, merchant informationand/or other information from merchant server 110 and/or paymentprovider server 120. Augmentation application 146 may also receive datafrom other applications 142 and/or browser 141. In some embodiments thismay be through application plugin 143. Application plugin 143 may relaycontent from browser 141 and/or other applications 142 to augmentationapplication 146. Augmentation application 146 may scan the content forimages, text, audio data, videos, and/or the like that matches a productidentifier on product page 111 of merchant server 110. In someembodiments, instead of a native application such as augmentationapplication 146 conducting a scan and match, augmentation application146 and/or application plugin 143 may relay content to a remote server,such as payment provider 120, third-party server, and/or merchant 140,for another application, such as advertising application 113, to scanand match objects within content to a product identifier and return thematching results.

In some embodiments augmentation application 146 and/or applicationplugin 143 may augment content viewed on user device 140 to containactuatable elements that allow user 160 to purchase a product on productpage 111 of merchant server 110. User 160 may have the option topurchase products using payment provider 120.

In some embodiments, augmentation application 146 and/or applicationplugin 143 may be on a remote server, such as merchant sever 110,payment provider 120, and/or third-party server 130 rather than on theuser device. In some examples content providing servers, such asthird-party server 130, may contain applications and/or plugins, such asaugmentation plugin 132 on third-party server 130, to augment thecontent before displaying the content on user device 140.

In some embodiments, advertising application 113 on merchant server 110may aid application plugin 143 and/or augmentation application 146 inaugmenting content being viewed by user 160. Application plugin 143and/or augmentation application 146 may relay content to advertisingapplication 113 over network 150 to identify objects within the contentthat match a product identifier and provide application plugin 143and/or augmentation application 146 with actuatable elements that, whenactivated by the user, link to a product purchasing page. In someembodiment the product purchasing page may be an overlay that isdisplayed over the content.

Display 147 may include a screen that displays information and/orcontent to user 160. Display 147 may be a mobile device display,monitor, projection display that projects images onto a transparent,partially transparent or opaque structure, or may include any othersuitable display technologies. User device 140 may include one or moreinput/output devices 148 (e.g., a keypad, a keyboard, a touch sensitivecomponent, a microphone, a camera, and the like). In some examples,display 147 may be a touch screen that doubles as one of theinput/output devices 148. User device 140 may monitor user input on thetouch screen, on any other touch-sensitive device (e.g., a touchpad on alaptop), and/or other input components (e.g., a mouse) and may recognizeuser input for association with transactions, and/or to activateactuatable elements for certain functions (e.g., purchase transactions,payment transactions, sales transactions, and listing transactions).

In some examples, user device 140 may have a touch screen display foruser 160 to view content that has been augmented and may be able toactuate actuatable elements, such as a link, by touching the touchscreen. In some embodiments, an actuatable element may require a touchpattern/gesture, such as circling an actuatable element, for actuation.By actuating the element, user device 140 may prompt user 160 with auser interface that allows user 160 to purchase a product on productpage 111. In some embodiments, the actuatable elements, when activatedby a user, may cause user device to send a purchase request to merchantserver 110 and/or payment provider 120.

One or more of merchant server 110, payment provider server 120,third-party server 130, and user device 140 may be used to execute anysuitable transaction in response to user 160 indicating the purchase ofa product on product page 111.

As discussed above in FIG. 1, content being viewed on a user device canbe augmented in many methods. Additionally, the one or more applicationsand/or plugins for augmenting content may be distributed over one ormore devices such as merchant server 110, payment provider 120,third-party server 130, and/or user device 140. In some embodiments,content being viewed on user device 140 may be relayed to merchantserver 110 for augmentation before being displayed on display 147. Insome embodiments, the content providing server, such as third-partyserver 130, may augment content before it reaches user device 140 forviewing by user 160. In some embodiments, the content providing server,such as third-party server 130, may relay content to another server,such as server 110, for augmentation before providing content to a userdevice for viewing. One of ordinary skill in the art will recognize thateven though FIG. 1 illustrates merchant server 110, third-party server130, and user device 140 having applications for augmenting content,these applications may be consolidated to reside solely on one device,two devices, and/or distributed over all devices, including paymentprovider 120. In some embodiments, some and/or all of the applicationsmay be distributed over one or more additional devices (not shown).

FIG. 2 shows an exemplary device 200 displaying exemplary content 210.Exemplary device 200 may be user device 140 of FIG. 1. Content 210 maybe a blog, article, forum, social media posts, and/or any otherinformation on a webpage hosted on a website. In some embodimentscontent 210 may be a book, movie, podcast, application, music, radio,and/or the like. Though content 210 in this example is provided througha visual medium, content 210 may also be provided through othermodalities, such as audio.

Content 210 may provide text 211. Text 211 may discuss or refer to oneor more products that may be on sale by one or more merchants and can bepurchased from one or more merchants through a merchant server, such asmerchant server 110 of FIG. 1. Content 210 may include one or moreimages 212. Images 212 may include one or more images of one or moreproducts that may be on sale by one or more merchants. Content 210 mayinclude video 213 and or play audio that is controlled by user interfaceelement 214.

Video 213 may be a video including one or more products and/or about oneor more products that may be on sale by one or more merchants. In someembodiments, the video 213 may play media that may be sold, availablefor rent, and/or available for licensing from one or more merchants.

User interface element 214 may control music, a podcast, and/or anyother audio media that content 210 plays through a speaker (not shown)on device 200. The audio media may be available for purchase, licensing,and/or the like from one or more merchants.

FIG. 3 is an exemplary illustration of device 200 and content 210 wherecontent 210 may have been augmented by one or more applicationsconsistent with this disclosure, such as augmentation plugin 132,application plugin 143, and/or augmentation application 146, of FIG. 1.

Content 210 may be augmented such that some of the text, such as textmatching product identifiers to products on product page 111 of FIG. 1,may be turned into actuatable elements 311-315. Content 210 may beaugmented by one or more applications, such as the applicationsdiscussed in FIG. 1. In some embodiments the content provider may havean augmentation plugin, such as augmentation plugin 132 of FIG. 1, whichaugments the content. Actuatable elements 311-315 may accentuate text toindicate to the user that the subject of the accentuated text may bepurchased. In some embodiments, actuatable elements 311-315 may beconstructed to seamlessly integrate with the textual content bymaintaining some, all, and/or most of the original typography. Althoughin this example text is accentuated by a rectangular outline, othermethods of accentuation may be implemented including, but not limitedto, highlighting, underlining, bolding, italicizing, creatinghyperlinks, and/or the like. In some examples, the actuatable elementsmay be seamlessly integrated with the content by using the text of thecontent as an actuatable element. In some examples, the actuatableelement may seamlessly integrate with the content by overlaying and/orsurrounding the text with a transparent and/or semitransparent imageand/or icon.

In some embodiments, content 210 may be augmented to include actuatableelements, such as icons 321-325, that are next to portions of content210 which match product identifiers, such as image 212, video 213,portions of text 211, and/or audio payer 214. In some embodiments icons321-325 may have graphical and/or textual information. In some examples,the graphical and/or textual information of icons 321-325 may be acompany name, company symbol, image of a mascot, trade name, trade mark,and/or the like. In some embodiments icons 321-325 may display a symbolor text that identifies the payment provider, merchant, and/ormarketplace that is associated with the content augmentation.

In some embodiments actuatable elements 311-325 may be links that map toa merchant selling a product related to the augmented content. Forexample, actuatable element 311 may map to a merchant selling a productnamed “Samuson 900.” Similarly actuatable element 322 next to video 213may also map to a merchant selling a Samuson 9000.

Content 200 may feature more than one product with related actuatableelements. For example, actuatable element 312 may link and/or map to amerchant selling a “Pear n7”; actuatable element 313 may link and/or mapto a merchant licensing “robot OS” software; actuatable elements 314 and323 may link and/or map to a merchant selling a “S900 indestructiblecase;” actuatable element 315 and 324 may link and/or map to a merchantselling a “Melkin Bluetooth speak;” and actuatable element 325 may linkand/or map to a merchant that sells and/or licenses “Enjoyable music.”

In some embodiments, the content and/or the application may be augmentedto contain a master button 330 that may serve multiple purposes. In someembodiments, master button 330 may be integrated with the applicationused for viewing content 210. For example, master button 330 may beintegrated into a tool bar of a web browser. In some embodiments, masterbutton 330 may be an actuatable element integrated with content 210. Insome embodiments, master button 330, when activated by a user, may listout products referenced within the content which the user may purchase.Additionally, actuatable element 330 may provide the user with a userinterface for setting up user preferences, selectable check boxes nextto factors for what merchants are chosen for product purchases.

In some embodiments, when one or more of the actuatable elements 311-330are activated by a user, a window that overlays the content may appear.The overlay may provide the user the opportunity to purchase a productfrom a merchant linked with and/or mapped to the actuatable element.

FIG. 4 illustrates an overlay 400 that may appear over content 210 ofFIG. 3 when one or more actuatable elements, such as actuatable elements311-330 of FIG. 3, are activated by the user.

In some embodiments, overlay 400 may be a window, a dialog, and/or agraphical user interface displayed on a user device, such as user device140 of FIG. 1, overlaying over content 210. Overlay 400 may be a GUIwindow that details a product available for purchase and the ability tobuy the product. In some embodiments, overlay 400 may display theproduct name and/or description 401, the price of the product 402, anestimated delivery date 403, and/or the like. Overlay 400 may alsoinclude various images corresponding to products, merchants, and/orpayments providers, such as an image 404.

Overlay 400 may also display information about the merchant offering tosell the product. Overlay 400 may provide the merchant's username 405,user ratings 406, number of sales 407, number of reviews 408, membershipterm 409, and/or the like. In some embodiments, overlay 400 may includeother information, such product specifications, product descriptions,product details, and/or the like.

In some embodiments, multiple merchants may be displayed, and the usermay be able to choose which merchant the user would like to purchase theproduct from. In some embodiments, the merchant that is displayed may bebased on a user preference. The user preference may be automaticallydetermined through analysis of a purchase history for the user. Forexample, the user may typically make purchases from the highest ratedmerchant and/or the user may have set a preference, such as “displaymerchant with the lowest price.”

Overlay 400 may also display the payment provider 410 that will be usedif the user chooses to purchase the product using overlay 400. The usermay be provided with the option to change the payment provider to otherpayment options, such as payment by credit card, payment by anotherprovider, and/or the like. Additionally, the overlay may provide anactuatable element 411 for the user to actively purchase the productfeatured in overlay 400. In some embodiments, actuatable element 411 maybe a check out button, such as a checkout with PayPal® button.

FIG. 5 illustrates an overlay 500 that may appear over content 210 ofFIG. 3 when a master button, such as master button 330 of FIG. 3, isactivated by the user. Overlay 500 may display one or more actuatableelements 501 for each product referenced in content 210. In someembodiments, when one or more of actuatable elements 501 are activatedby a user, another overlay, such as overlay 400 of FIG. 4, may bedisplayed, which allows the user to purchase the product that theactuatable element links and/or is related to.

FIG. 6 is a flowchart showing a process for augmenting content fordisplay on a user device according to an embodiment. This process may behandled by one or more applications on one or more devices such as userdevice 140, merchant server 110, and/or payment provider server 120 ofFIG. 1.

At process 601, product descriptions and merchant information isreceived from one or more merchants via a communication module such asadvertising application 113, augmentation plugin 132, application plugin143, augmentation application 146, and/or the like of FIG. 1. Theproduct descriptions may come in the form of textual data that mayinclude textual product identifiers such as a product name, trade name,manufacturer name, serial numbers, barcodes, and/or keywords and/orphrases that identify and/or uniquely identify the product. The receivedproduct identifiers may also include image data, video clip data, audioclip data, and/or other information data that are related to theproduct.

The merchant information may include data representing a merchant'susername, location, address, ratings, membership length with one or moremarketplaces, past costumers, products for sales, prices for productssold by the merchant, name, account numbers, preferred payment providersand/or other information about the merchant.

The received product descriptions, product identifiers, and/or merchantinformation may be stored in a database, such as database 112 of FIG. 1.

In some embodiments the product description received at process 601 mayinclude textual sentences and paragraphs which include commonly usedwords unrelated to the product. At process 602 a module for processingthe text may be used to separate the commonly used words from text thatidentifies the product. Process 602 may use a module, such as a naturallanguage processor, to identify uncommon words and/or phrases as productidentifiers. In some embodiments, process 602 may have a database ofcommon words, such as a dictionary, for eliminating words unrelated to aproduct. In some embodiments, the product descriptions received from amerchant may be in the form of a list, the list containing keywordsand/or phrases that relate to the product, in which case, process 602may be skipped.

At process 603, the product identifiers may be stored in a database thatlink to the related product. In some embodiments, the productidentifiers may be stored in a database which allows for a matchingalgorithm to efficiently match received objects with the productidentifiers. In some embodiments, product identifiers may be categorizedand grouped by the product identifier data format. For example, text,images, and video data. In this manner, process 603 may avoid attemptingto match textual objects with a product identifier that is an image. Insome embodiments product identifiers may be attached to a number orvalue that matches a number or value for a product, such as an ISBN,UPC, and/or similar code. In this manner the product may be grouped withproduct identifiers that identify the product.

At process 604, a communications module, such as merchant server 110 mayreceive a copy of the content that a user is browsing on a user device,such as user device 140. In some embodiments, the content may be from awebsite the user is browsing. The content may be in the form of html,XML, java script, python, and/or any other programming code. Merchantserver 110 may also receive and or retrieve user information, such asthe user's mailing address, preferences, browsing data, purchasinghistory, and/or other information about the user. The user informationmay be retrieved from a database such as database 122, and/or frompayment provider server 120.

At process 605, a product matching module, such as advertisingapplication 113, augmentation plugin 132, application plugin 143,augmentation application 146, and/or the like of FIG. 1, may identifyproducts referenced within the content by matching objects within thereceived content with the product identifiers in the database. Process605 may conduct word and/or phrase matching, keyword searches, imagematching, video matching, and/or audio matching between objects withinthe content and the product identifiers. In some embodiments, a contentprovider may limit the augmentations made to their content. For example,the content provider may be able to instruct the product matchingmodule, such as augmentation plugin 132, to limit, remove, and/orprevent product identifiers for certain products from matching withobjects in the content. The content provider may have a contract with acompany which prevents advertisements of a competing product. Thecontent provider may provide the product module a list of products,companies, and/or the like that the product module may cross referenceto prevent certain product identification matches for the content ofthat content provider. In this manner, a content provider may be able tochoose how their content is augmented, and what products may be linkedto the content.

At process 606, an overlay creation module, such as advertisingapplication 113, augmentation plugin 132, application plugin 143,augmentation application 146, and/or the like of FIG. 1, may createoverlays, such as overlay 400 of FIG. 4 and/or overlay 500 of FIG. 5 forobjects that are matched at process 605. The overlays may be created byplugging in images, text, video, and or other content into a programfile with html, XML, java script, python, and/or other programminglanguages. For example, one or more programming files may includepredetermined programming code by one or more programming languages forinstructing a web browser to display a graphical user interface orframework, such as overlay 400 of FIG. 4. The programming files may haveempty fields for the overlay creation module to fill in, such as textfor the product name 401, price 402, link to an image 404, links forpurchasing the product from a merchant 411, links to servers, and or thelike. The overlay creation module may retrieve information pertaining tothe products, merchant information, payment provider information, links,and/or the like related to the products that were matched to contentobjects at process 605. The information may be retrieved from adatabase, such as database 112 of FIG. 1. In some embodiments theoverlay creation module may retrieve user information, such as theuser's mailing address, preferences, browsing data, purchasing history,and/or other information about the user. The user information may beretrieved from a database such as database 122, and/or from paymentprovider server 120. The overlay creation module may plugin theinformation to the corresponding empty fields of the programming files.The information may include information about one or more identifiedproducts, merchants selling the product, and/or payment methods (e.g.payment provider, credit card, debit card, gift card, and/or the like).In some embodiments, there may be multiple merchants selling theproduct, and overlay creation module may pick the merchant for displayand/or the order in which a merchant is displayed based on the userinformation. For example, creation module may pick merchants locatedclosest to the mailing address for the user when populating an emptyfield in one or more programming files.

At process 607, method 600 may augment the content the user is viewingon a user device with an augmentation module, such as augmentationplugin 132, application plugin 143, and or augmentation application 146of FIG. 1, to contain actuatable elements that, when activated, displaythe overlay created at process 606. In some examples, the content may bein the form of html, XML, java script, python, and/or any otherprogramming code, and the augmentation module may augment the content byediting the code to include hyperlinks, overlaying images that arehyperlinks, and/or icons that are hyperlinks. In some embodiments, justthe portion of the content with objects related to the product may beaugmented by changing the objects into hyperlinks. In some embodiments,the content may be augmented such that a transparent, partiallytransparent, and/or opaque overlay that acts as an actuatable elementmay be placed over or proximally to the object in the content. In someembodiments, a displaying module, such as augmentation plugin 132,marketplace application 114, and/or application plugin 143 of FIG. 1,may instruct for the augmented content to be displayed on the userdevice instead of the original content.

At process 608, method 600 may receive from the user device anindication, such as an electronic signal, that one or more actuatableelements in the augmented content have been activated.

At process 609, in response to the indication at process 608, theoverlay created at process 606 may be displayed on top of the contentbeing viewed by the user. The overlay may include an actuatable elementthat the user may activate to have the user device send a purchaseindicator. In some embodiments, the actuatable element may be aone-click payment button that sends a purchase indicator from the userdevice when clicked (e.g., clicked using, for example, a user's fingeron a touch screen and/or through one or more I/O devices).

At process 610, method 600 may receive a purchase indicator from theuser device which initiates the purchase of a product from a merchant.

At process 611, method 600 may, in response to receiving a purchaseindicator, instruct a payment provider server, such as payment providerserver 120 of FIG. 1, to transfer funds from an account (e.g., a bankaccount, credit card account, or other financial account) of the user toan account of the merchant. This may include a funds exchange, emailconfirmation, and/or the like. In this manner, a product may bepurchased within the content without the user having to leaving thecontent.

FIG. 7 is a block diagram of a computer system 700 suitable forimplementing one or more embodiments of the present disclosure. Invarious implementations, the user device may comprise a personalcomputing device (e.g., smart phone, a computing tablet, a personalcomputer, laptop, PDA, Bluetooth device, key FOB, badge, etc.) capableof communicating with the network. The merchant, third-party server,and/or payment provider may utilize a network computing device (e.g., anetwork server) capable of communicating with the network. It should beappreciated that each of the devices utilized by users, merchants, andpayment providers may be implemented as computer system 700 in a manneras follows.

Computer system 700 includes a bus 702 or other communication mechanismfor communicating information data, signals, and information betweenvarious components of computer system 700. Components include aninput/output (I/O) component 704 that processes a user action, such asselecting keys from a keypad/keyboard, selecting one or more buttons orlinks, etc., and sends a corresponding signal to bus 702. I/O component704 may also include an output component, such as a display 711 and acursor control 713 (such as a keyboard, keypad, mouse, etc.). Anoptional audio input/output component 705 may also be included to allowa user to use voice for inputting information by converting audiosignals. Audio I/O component 705 may allow the user to hear audio. Atransceiver or network interface 706 transmits and receives signalsbetween computer system 700 and other devices, such as another userdevice, a merchant server, or a payment provider server via network 160.In one embodiment, the transmission is wireless, although othertransmission mediums and methods may also be suitable. A processor 712,which can be a micro-controller, digital signal processor (DSP), orother processing component, processes these various signals, such as fordisplay on computer system 700 or transmission to other devices via acommunication link 718. Processor 712 may also control transmission ofinformation, such as cookies, IP addresses, and/or instructions to otherdevices.

Components of computer system 700 also include a system memory component714 (e.g., RAM), a static storage component 716 (e.g., ROM), and/or adisk drive 717. Computer system 700 performs specific operations byprocessor 712 and other components by executing one or more sequences ofinstructions contained in system memory component 714. Logic may beencoded in a computer readable medium, which may refer to any mediumthat participates in providing instructions to processor 712 forexecution. Such a medium may take many forms, including but not limitedto, non-volatile media, volatile media, and transmission media. Invarious implementations, non-volatile media includes optical or magneticdisks, volatile media includes dynamic memory, such as system memorycomponent 714, and transmission media includes coaxial cables, copperwire, and fiber optics, including wires that comprise bus 702. In oneembodiment, the logic is encoded in non-transitory computer readablemedium. In one example, transmission media may take the form of acousticor electromagnetic waves, such as those generated during radio wave,optical, and infrared data communications.

Some common forms of computer readable media includes, for example,floppy disk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EEPROM,FLASH-EEPROM, any other memory chip or cartridge, or any other mediumfrom which a computer is adapted to read.

In various embodiments of the present disclosure, execution ofinstruction sequences to practice the present disclosure may beperformed by computer system 700. In various other embodiments of thepresent disclosure, a plurality of computer systems 700 coupled bycommunication link 718 to the network (e.g., such as a LAN, WLAN, PTSN,and/or various other wired or wireless networks, includingtelecommunications, mobile, and cellular phone networks) may performinstruction sequences to practice the present disclosure in coordinationwith one another.

Where applicable, various embodiments provided by the present disclosuremay be implemented using hardware, software, or combinations of hardwareand software. Also, where applicable, the various hardware componentsand/or software components set forth herein may be combined intocomposite components comprising software, hardware, and/or both withoutdeparting from the spirit of the present disclosure. Where applicable,the various hardware components and/or software components set forthherein may be separated into sub-components comprising software,hardware, or both without departing from the scope of the presentdisclosure. In addition, where applicable, it is contemplated thatsoftware components may be implemented as hardware components andvice-versa.

Software, in accordance with the present disclosure, such as programcode and/or data, may be stored on one or more computer readablemediums. It is also contemplated that software identified herein may beimplemented using one or more general purpose or specific purposecomputers and/or computer systems, networked and/or otherwise. Whereapplicable, the ordering of various steps described herein may bechanged, combined into composite steps, and/or separated into sub-stepsto provide features described herein.

The foregoing disclosure is not intended to limit the present disclosureto the precise forms or particular fields of use disclosed. As such, itis contemplated that various alternate embodiments and/or modificationsto the present disclosure, whether explicitly described or impliedherein, are possible in light of the disclosure. Having thus describedembodiments of the present disclosure, persons of ordinary skill in theart will recognize that changes may be made in form and detail withoutdeparting from the scope of the present disclosure. Thus, the presentdisclosure is limited only by the claims.

1. (canceled)
 2. A system, comprising: a non-transitory memory; and oneor more hardware processors coupled to the non-transitory memory andconfigured to read instructions from the non-transitory memory to causethe system to perform operations comprising: receiving a request forpresenting content on a user device; in response to the receiving,analyzing the content to identify a plurality of products associatedwith the content; generating a user interface comprising a plurality oflinks corresponding to the plurality of products, wherein each link inthe plurality of links is associated with a purchase transaction forpurchasing a corresponding product from a merchant; augmenting thecontent by inserting an actuatable element within the content, theactuatable element being configured to display the user interface whenactivated; and causing the augmented content to be displayed on the userdevice.
 3. The system of claim 2, wherein the operations furthercomprise: receiving a signal for activating the actuatable elementwithin the augmented content; and in response to receiving the signal,overlaying the generated user interface on the augmented content.
 4. Thesystem of claim 3, wherein the operations further comprise: receiving aselection of a link from the plurality of links included in the userinterface; causing the purchase transaction to be processed forpurchasing a product corresponding to the link; and causing the userinterface to be removed from the user device.
 5. The system of claim 2,wherein the user interface further comprises an input area for receivinga code applicable to purchasing at least one of the plurality ofproducts.
 6. The system of claim 2, wherein the content comprises atleast one of text data, audio data, image data, or video data.
 7. Thesystem of claim 2, wherein the operations further comprise determining aplurality of merchants that offer the plurality of products for sale. 8.The system of claim 7, wherein the plurality of merchants is determinedbased at least in part on a location of the user device.
 9. The systemof claim 2, wherein the operations further comprise: obtaining a sourceprogramming code for the content, wherein the content is furtheraugmented by inserting a set of programming codes associated with theuser interface into the source programming code.
 10. A methodcomprising: receiving a request for presenting a webpage on a userdevice; in response to the receiving, retrieving, by a web browserapplication running on the device, content associated with the webpagefrom a remote server; analyzing, by the web browser application, thecontent to identify a plurality of products associated with the content;generating a user interface comprising a plurality of linkscorresponding to the plurality of products, wherein each link in theplurality of links is associated with a purchase transaction forpurchasing a corresponding product from a merchant; and presenting anactuatable element on an interface of the web browser application, theactuatable element being configured to display the user interface whenactivated.
 11. The method of claim 10, wherein the actuatable element ispresented on a tool bar of the web browser application.
 12. The methodof claim 10, wherein each link in the plurality of links directs a userof the user device to a website of a corresponding merchant.
 13. Themethod of claim 10, further comprising: receiving a selection of theactuatable element; and in response to receiving the selection,displaying the generated user interface on the web browser application.14. The method of claim 13, further comprising: receiving a selection ofa link from the plurality of links included in the user interface;causing the purchase transaction to be processed for purchasing aproduct corresponding to the link; receiving an indication that thepurchase transaction has been purchased; and disabling the actuatableelement based on the indication.
 15. The method of claim 10, furthercomprising determining a plurality of merchants that offer the pluralityof products for sale.
 16. A non-transitory machine-readable mediumhaving stored thereon machine-readable instructions executable to causea machine to perform operations comprising: receiving a request forpresenting content on a user device; in response to the receiving,analyzing the content to identify a plurality of products associatedwith the content; generating a user interface comprising a plurality oflinks corresponding to the plurality of products, wherein each link inthe plurality of links is associated with a purchase transaction forpurchasing a corresponding product from a merchant; augmenting thecontent by inserting an actuatable element within the content, theactuatable element being configured to display the user interface whenactivated; and causing the augmented content to be presented on the userdevice.
 17. The non-transitory machine-readable medium of claim 16,wherein the actuatable element comprises a semi-transparent icon that issuperimposed onto a portion of the content.
 18. The non-transitorymachine-readable medium of claim 16, wherein the operations furthercomprise: receiving a signal for activating the actuatable elementwithin the augmented content; and in response to receiving the signal,overlaying the generated user interface on the augmented content. 19.The non-transitory machine-readable medium of claim 18, wherein theoperations further comprise: receiving a selection of a link from theplurality of links included in the user interface; causing the purchasetransaction to be processed for purchasing a product corresponding tothe link; and removing the user interface from being displayed on theuser device.
 20. The non-transitory machine-readable medium of claim 16,wherein the operations further comprise determining a plurality ofmerchants that offer the plurality of products for sale.
 21. Thenon-transitory machine-readable medium of claim 20, wherein theplurality of merchants is determined based at least in part on alocation of the user device.